Network devices, such as performance enhancing proxy network devices, are used in a variety of applications for enhancing the network traffic across a data connection or other characteristics of the connection. Deployed in the communication path of a network between a sender and recipient of data packets, these performance enhancing proxy network devices operate on the packets so as to increase reliability, speed, bandwidth, compression, security, and/or many other features of the existing network connection. To perform any function for the network, however, these devices must be coupled to the network in some way to receive and then retransmit at least some of the data packets being sent over the data connection.
In typical configurations, such as that shown in FIG. 1, a performance enhancing proxy network device 10, or proxy, is often deployed inline with the WAN link of a router 20. In this way, all traffic from a WAN 30 passes through the network device 10 before arriving at its destination computing system 15 on a LAN 5. This inline configuration requires a modest amount of physical re-wiring and downtime to establish the link. To deploy a network device 10 inline, the link must be broken, and then the device 10 to be installed must be connected in between the broken link. The installation is manually intensive, and it interrupts the network services unless there is a backup mechanism in place. In addition, it may be physically or electrically challenging to place a network device in line due to incompatible standards, such as a network device that uses Ethernet while the WAN link uses fiber optics.
Systems have been designed to allow for parallel installation of intermediate network devices, but these systems generally require that the data packets be addressed to the network devices. When the data packets are passed on to the true destination system, the destination address of the data packet must be changed so that the data packet is routed to its true destination. Such systems are undesirable for several reasons, primarily in that they lack transparency. The sending system must know of the existence and the address of the network device so that the data packet can be addressed to it. This limits the ability to implement one-sided optimization of network traffic, since remote senders must be configured for the local network device.
Alternatively, systems have been designed that allow transparency to be maintained from the point of view of the source and destination systems, but require that the packets be encapsulated in a different protocol to facilitate routing. One example of this is the WCCP protocol, used to connect network devices (typically Web proxy caches) to routers, encapsulating packets using the GRE protocol to allow the path taken between router and network appliance to be independent of the original packet routing. This method is transparent to the endpoints, but it is not transparent along the path between the router and the network device. Encapsulation is also accompanied by overhead and thus loss of performance.
Accordingly, there is a need for a method to allow a parallel installation of a network device while preserving the transparency and other benefits that an inline installation offers.